System and method for maintaining a tool position and orientation

ABSTRACT

A system and method of maintaining a tool position and orientation for a computer-assisted device include an articulated structure including a plurality of joints and a control unit coupled to the articulated structure. The control unit is configured to determine whether a cannula or an instrument is coupled to a distal end of the articulated structure and in response to determining that the cannula or the instrument is coupled to the distal end of the articulated structure: determine an initial position and orientation of the instrument prior to detection of a disturbance in a first joint of the plurality of joints; determine, during the disturbance in the first joint, a current position and orientation of the instrument; determine a difference between the current position and orientation and the initial position and orientation; and drive at least a second joint of the plurality of joints based on the difference.

RELATED APPLICATIONS

The present application is continuation of U.S. patent application Ser.No. 16/101,328 entitled “System and Method for Maintaining a ToolPosition and Orientation” filed Aug. 10, 2018, which is continuation ofU.S. patent application Ser. No. 15/125,533 entitled “System and Methodfor Maintaining a Tool Pose” filed Sep. 12, 2016 and now U.S. Pat. No.10,070,931, which is the U.S. national phase of InternationalApplication No. PCT/US2015/021089 entitled “System and Method forMaintaining a Tool Pose” filed Mar. 17, 2015, which designated the U.S.and claims priority to U.S. Provisional Patent Application No.62/024,887 entitled “System and Method for Aligning with a ReferenceTarget” filed Jul. 15, 2014 and U.S. Provisional Patent Application No.61/954,261 entitled “System and Method for Aligning with a ReferenceTarget” filed Mar. 17, 2014, the entire contents of each of which areincorporated herein by reference.

The present disclosure is also related to U.S. Provisional PatentApplication No. 62/134,207 entitled “System and Method for IntegratedOperating Table,” filed Mar. 17, 2015, U.S. Provisional PatentApplication No. 62/134,212 entitled “System and Method for Reducing ToolDisturbances” and filed Mar. 17, 2015, and PCT Patent Application No.PCT/US15/21097 entitled “System and Method for Aligning with a ReferenceTarget” and filed Mar. 17, 2015, the entire contents of each of whichare incorporated herein by reference.

TECHNICAL FIELD

The present disclosure relates generally to operation of devices witharticulated arms and more particularly to maintaining a tool pose.

BACKGROUND

More and more devices are being replaced with autonomous andsemiautonomous electronic devices. This is especially true in thehospitals of today with large arrays of autonomous and semiautonomouselectronic devices being found in operating rooms, interventionalsuites, intensive care wards, emergency rooms, and the like. Forexample, glass and mercury thermometers are being replaced withelectronic thermometers, intravenous drip lines now include electronicmonitors and flow regulators, and traditional hand-held surgicalinstruments are being replaced by computer-assisted medical devices.

These electronic devices provide both advantages and challenges to thepersonnel operating them. Many of these electronic devices may becapable of autonomous or semiautonomous motion of one or morearticulated arms and/or end effectors. These one or more articulatedarms and/or end effectors each include a combination of links andarticulated joints that support motion of the articulated arms and/orend effectors. In many cases, the articulated joints are manipulated toobtain a desired position and/or orientation (collectively, a desiredpose) of a corresponding tool located at a distal end of the links andarticulated joints of a corresponding articulated arm and/or endeffector. Each of the articulated joints proximal to the tool providesthe corresponding articulated arm and/or end effector with at least onedegree of freedom that may be used to manipulate the position and/ororientation of the corresponding tool. In many cases, the correspondingarticulated arms and/or end effectors may include at least six degreesof freedom that allow for controlling a x, y, and z position of thecorresponding tool as well as a roll, pitch, and yaw orientation of thecorresponding tool. To provide for greater flexibility in control of thepose of the corresponding tool, the corresponding articulated armsand/or end effectors are often designed to include redundant degrees offreedom. When redundant degrees of freedom are present it is possiblethat multiple different combinations of positions and/or orientations ofthe articulated joints may be used to obtain the same pose of thecorresponding tool. This creates a null space where even though thearticulated joints are moving, the pose of the corresponding tool isnot.

As each of the articulated arms and/or end effectors is being operated,the articulated arm and/or end effector may be subject to motion, bothplanned and unplanned, that may result in movement in one or more of thearticulated joints. As this motion changes the positions and/ororientations of the one or more articulated joints, the changes mayintroduce undesirable alteration to the pose of a tool being manipulatedby the articulated arm. This alteration to the pose may result in injuryto a patient, injury to personnel in proximity to the articulated armsand/or end effectors, damage to the articulated arms and/or endeffectors, damage to other devices in proximity to the articulated armsand/or end effectors, breach of a sterile field, and/or otherundesirable outcomes.

Accordingly, it would be desirable to maintain a pose of a tool in thepresence of disturbances in articulated joints located proximal to thetool.

SUMMARY

Consistent with some embodiments, a computer-assisted medical deviceincludes an articulated arm including one or more first joints and oneor more second joints, a tool distal to the one or more first joints andthe one or more second joints, and a control unit coupled to the firstjoints and the second joints. The control unit maintains a pose of thetool during movement of the one or more first joints using the one ormore second joints by determining a reference coordinate frame for thetool, determining a reference transform of the tool in the referencecoordinate frame prior to the movement of the one or more first joints,determining an actual transform of the tool in the reference coordinateframe while the one or more first joints are being moved, determiningdifferences between the reference transform and the actual transform,and maintaining the pose of the tool by driving the second joints basedon the differences.

Consistent with some embodiments, a method of compensating for motion inan articulated arm of a computer-assisted medical device includesdetermining a pose of a tool of the medical device and maintaining thepose of the tool during movement of one or more first joints of anarticulated arm proximal to the tool using one or more second jointsproximal to the tool. The pose is maintained by determining a referencecoordinate frame for the tool, determining a reference transform of thetool in the reference coordinate frame prior to the movement of the oneor more first joints, determining an actual transform of the tool in thereference coordinate frame while the one or more first joints are beingmoved, determining differences between the reference transform and theactual transform, and maintaining the pose of the tool by driving thesecond joints based on the differences. The pose includes a position andan orientation.

Consistent with some embodiments, a non-transitory machine-readablemedium including a plurality of machine-readable instructions which whenexecuted by one or more processors associated with a medical device areadapted to cause the one or more processors to perform a method. Themethod includes determining a pose of a tool of the medical device andmaintaining the pose of the tool during movement of one or more firstjoints of an articulated arm proximal to the tool using one or moresecond joints proximal to the tool. The pose is maintained bydetermining a reference coordinate frame for the tool, determining areference transform of the tool in the reference coordinate frame priorto the movement of the one or more first joints, determining an actualtransform of the tool in the reference coordinate frame while the one ormore first joints are being moved, determining differences between thereference transform and the actual transform, and maintaining the poseof the tool by driving the second joints based on the differences. Thepose includes a position and an orientation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified diagram of a computer-assisted system accordingto some embodiments.

FIG. 2 is a simplified diagram showing a computer-assisted systemaccording to some embodiments.

FIG. 3 is a simplified diagram of a kinematic model of acomputer-assisted medical system according to some embodiments.

FIG. 4 is a simplified diagram of the method of maintaining the pose ofa tool during movement of one or more joints proximal to the toolaccording to some embodiments.

In the figures, elements having the same designations have the same orsimilar functions.

DETAILED DESCRIPTION

In the following description, specific details are set forth describingsome embodiments consistent with the present disclosure. It will beapparent to one skilled in the art, however, that some embodiments maybe practiced without some or all of these specific details. The specificembodiments disclosed herein are meant to be illustrative but notlimiting. One skilled in the art may realize other elements that,although not specifically described here, are within the scope and thespirit of this disclosure. In addition, to avoid unnecessary repetition,one or more features shown and described in association with oneembodiment may be incorporated into other embodiments unlessspecifically described otherwise or if the one or more features wouldmake an embodiment non-functional.

FIG. 1 is a simplified diagram of a computer-assisted system 100according to some embodiments. As shown in FIG. 1, computer-assistedsystem 100 includes a device 110 with one or more movable or articulatedarms 120. Each of the one or more articulated arms 120 may support oneor more end effectors. In some examples, device 110 may be consistentwith a computer-assisted surgical device. The one or more articulatedarms 120 may each provide support for one or more tools, surgicalinstruments, imaging devices, and/or the like mounted to a distal end ofat least one of the articulated arms 120. Device 110 may further becoupled to an operator workstation (not shown), which may include one ormore master controls for operating the device 110, the one or morearticulated arms 120, and/or the end effectors. In some embodiments,device 110 and the operator workstation may correspond to a da Vinci®Surgical System commercialized by Intuitive Surgical, Inc. of Sunnyvale,Calif. In some embodiments, computer-assisted surgical devices withother configurations, fewer or more articulated arms, and/or the likemay be used with computer-assisted system 100.

Device 110 is coupled to a control unit 130 via an interface. Theinterface may include one or more wireless links, cables, connectors,and/or buses and may further include one or more networks with one ormore network switching and/or routing devices. Control unit 130 includesa processor 140 coupled to memory 150. Operation of control unit 130 iscontrolled by processor 140. And although control unit 130 is shown withonly one processor 140, it is understood that processor 140 may berepresentative of one or more central processing units, multi-coreprocessors, microprocessors, microcontrollers, digital signalprocessors, field programmable gate arrays (FPGAs), application specificintegrated circuits (ASICs), and/or the like in control unit 130.Control unit 130 may be implemented as a stand-alone subsystem and/orboard added to a computing device or as a virtual machine. In someembodiments, control unit may be included as part of the operatorworkstation and/or operated separately from, but in coordination withthe operator workstation.

Memory 150 may be used to store software executed by control unit 130and/or one or more data structures used during operation of control unit130. Memory 150 may include one or more types of machine readable media.Some common forms of machine readable media may include floppy disk,flexible disk, hard disk, magnetic tape, any other magnetic medium,CD-ROM, any other optical medium, punch cards, paper tape, any otherphysical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM,any other memory chip or cartridge, and/or any other medium from which aprocessor or computer is adapted to read.

As shown, memory 150 includes a motion control application 160 that maybe used to support autonomous and/or semiautonomous control of device110. Motion control application 160 may include one or more applicationprogramming interfaces (APIs) for receiving position, motion, and/orother sensor information from device 110, exchanging position, motion,and/or collision avoidance information with other control unitsregarding other devices, such as a surgical table and/or imaging device,and/or planning and/or assisting in the planning of motion for device110, articulated arms 120, and/or the end effectors of device 110. Andalthough motion control application 160 is depicted as a softwareapplication, motion control application 160 may be implemented usinghardware, software, and/or a combination of hardware and software.

In some embodiments, computer-assisted system 100 may be found in anoperating room and/or an interventional suite. And althoughcomputer-assisted system 100 includes only one device 110 with twoarticulated arms 120, one of ordinary skill would understand thatcomputer-assisted system 100 may include any number of devices witharticulated arms and/or end effectors of similar and/or different designfrom device 110. In some examples, each of the devices may include feweror more articulated arms and/or end effectors.

Computer-assisted system 100 further includes a surgical table 170. Likethe one or more articulated arms 120, surgical table 170 may supportarticulated movement of a table top 180 relative to a base of surgicaltable 170. In some examples, the articulated movement of table top 180may include support for changing a height, a tilt, a slide, aTrendelenburg orientation, and/or the like of table top 180. Althoughnot shown, surgical table 170 may include one or more control inputs,such as a control pendant for controlling the position and/ororientation of table top 180. In some embodiments, surgical table 170may correspond to one or more of the operating tables commercialized byTrumpf Medical Systems GmbH of Germany.

Surgical table 170 may also be coupled to control unit 130 via acorresponding interface. The interface may include one or more wirelesslinks, cables, connectors, and/or buses and may further include one ormore networks with one or more network switching and/or routing devices.In some embodiments, surgical table 170 may be coupled to a differentcontrol unit than control unit 130. In some examples, motion controlapplication 160 may include one or more application programminginterfaces (APIs) for receiving position, motion, and/or other sensorinformation associated with surgical table 170 and/or table top 180. Insome examples, motion control application 160 may plan and/or assist inthe planning of motion for surgical table 170 and/or table top 180. Insome examples, motion control application 160 may prevent motion ofsurgical table 170 and/or table top 180, such as by preventing movementof surgical table 170 and/or table top 180 through use of the controlpendant. In some examples, motion control application 160 may helpregister device 110 with surgical table 170 so that a geometricrelationship between device 110 and surgical table 170 is known. In someexamples, the geometric relationship may include a translation and/orone or more rotations between coordinate frames maintained for device110 and surgical table 170.

FIG. 2 is a simplified diagram showing a computer-assisted system 200according to some embodiments. For example, the computer-assisted system200 may be consistent with computer-assisted system 100. As shown inFIG. 2, the computer-assisted system 200 includes a computer-assisteddevice 210 with one or more articulated arms and a surgical table 280.Although not shown in FIG. 2, the computer-assisted device 210 and thesurgical table 280 may be coupled together using one or more interfacesand one or more control units so that at least kinematic informationabout the surgical table 280 is known to the motion control applicationbeing used to perform motion of the articulated arms of thecomputer-assisted device 210.

The computer-assisted device 210 includes various links and joints. Inthe embodiments of FIG. 2, the computer-assisted device is generallydivided into three different sets of links and joints. Starting at theproximal end with a mobile or patient-side cart 215 is a set-upstructure 220. Coupled to a distal end of the set-up structure is aseries of set-up joints 240. And coupled to a distal end of the set-upjoints 240 is a manipulator 260, such as a universal surgicalmanipulator. In some examples, the series of set-up joints 240 andmanipulator 260 may correspond to one of the articulated arms 120. Andalthough the computer-assisted device is shown with only one series ofset-up joints 240 and a corresponding manipulator 260, one of ordinaryskill would understand that the computer-assisted device may includemore than one series of set-up joints 240 and corresponding manipulators260 so that the computer-assisted device is equipped with multiplearticulated arms.

As shown, the computer-assisted device 210 is mounted on the mobile cart215. The mobile cart 215 enables the computer-assisted device 210 to betransported from location to location, such as between operating roomsor within an operating room to better position the computer-assisteddevice in proximity to the surgical table 180. The set-up structure 220is mounted on the mobile cart 215. As shown in FIG. 2, the set-upstructure 220 includes a two part column including column links 221 and222. Coupled to the upper or distal end of the column link 222 is ashoulder joint 223. Coupled to the shoulder joint 223 is a two-part boomincluding boom links 224 and 225. At the distal end of the boom link 225is a wrist joint 226, and coupled to the wrist joint 226 is anorientation platform 227.

The links and joints of the set-up structure 220 include various degreesof freedom for changing the position and orientation (i.e., the pose) ofthe orientation platform 227. For example, the two-part column may beused to adjust a height of the orientation platform 227 by moving theshoulder joint 223 up and down along an axis 232. The orientationplatform 227 may additionally be rotated about the mobile cart 215, thetwo-part column, and the axis 232 using the shoulder joint 223. Thehorizontal position of the orientation platform 227 may also be adjustedalong an axis 234 using the two-part boom. And the orientation of theorientation platform 227 may also adjusted by rotation about an axis 236using the wrist joint 226. Thus, subject to the motion limits of thelinks and joints in the set-up structure 220, the position of theorientation platform 227 may be adjusted vertically above the mobilecart 215 using the two-part column. The positions of the orientationplatform 227 may also be adjusted radially and angularly about themobile cart 215 using the two-part boom and the shoulder joint 223,respectively. And the angular orientation of the orientation platform227 may also be changed using the wrist joint 226.

The orientation platform 227 may be used as a mounting point for one ormore articulated arms. The ability to adjust the height, horizontalposition, and orientation of the orientation platform 227 about themobile cart 215 provides a flexible set-up structure for positioning andorienting the one or more articulated arms about a work space, such as apatient, located near the mobile cart 215. FIG. 2 shows a singlearticulated arm coupled to the orientation platform using a first set-upor flex joint 242. And although only one articulated arm is shown, oneof ordinary skill would understand that multiple articulated arms may becoupled to the orientation platform 227 using additional first set-upjoints.

The first set-up joint 242 forms the most proximal portion of the set-upjoints 240 section of the articulated arm. The set-up joints 240 mayfurther include a series of joints and links. As shown in FIG. 2, theset-up joints 240 include at least links 244 and 246 coupled via one ormore joints (not expressly shown). The joints and links of the set-upjoints 240 include the ability to rotate the set-up joints 240 relativeto the orientation platform 227 about an axis 252 using the first set-upjoint 242, adjust a radial or horizontal distance between the firstset-up joint 242 and the link 246, adjust a height of a manipulatormount 262 at the distal end of link 246 relative to the orientationplatform along an axis 254, and rotate the manipulator mount 262 aboutaxis 254. In some examples, the set-up joints 240 may further includeadditional joints, links, and axes permitting additional degrees offreedom for altering a pose of the manipulator mount 262 relative to theorientation platform 227.

The manipulator 260 is coupled to the distal end of the set-up joints240 via the manipulator mount 262. The manipulator 260 includesadditional joints 264 and links 266 with an instrument carriage 268mounted at the distal end of the manipulator 260. An instrument ormanipulator tool 270 is mounted to the instrument carriage 268. The tool270 includes a shaft 272, which is aligned along an insertion axis. Theshaft 272 is typically aligned so that is passes through a remote center274 associated with the manipulator 260. Location of the remote center274 is typically maintained in a fixed translational relationshiprelative to the manipulator mount 262 so that operation of the joints264 in the manipulator 260 result in rotations of the shaft 272 aboutthe remote center 274. Depending upon the embodiment, the fixedtranslational relation of the remote center 274 relative to themanipulator mount 262 is maintained using physical constraints in thejoints 264 and links 266 of the manipulator 260, using softwareconstraints placed on the motions permitted for the joints 264, and/or acombination of both. In some examples, the remote center 274 maycorrespond to a location of a surgical port or incision site in apatient 278 after the manipulator 260 is docked with the patient 278.Because the remote center 274 corresponds to the surgical port, as thetool 270 is used, the remote center 274 remains stationary relative tothe patient 278 to limit stresses on the anatomy of the patient 278 atthe remote center 274. In some examples, the shaft 272 may be passedthrough a cannula (not shown) located at the surgical port.

At the distal end of the shaft 272 is a tool or tool tip 276. Thedegrees of freedom in the manipulator 260 due to the joints 264 and thelinks 266 may permit at least control of the roll, pitch, and yaw of theshaft 272 and/or the tool tip 276 relative to the manipulator mount 262.In some examples, the degrees of freedom in the manipulator 260 mayfurther include the ability to advance and/or retreat the shaft 272using the instrument carriage 268 so that the tool tip 276 may beadvanced and/or retreated along the insertion axis and relative to theremote center 274. In some examples, the manipulator 260 may beconsistent with a universal surgical manipulator for use with the daVinci® Surgical System commercialized by Intuitive Surgical, Inc. ofSunnyvale, Calif. In some examples, the tool 270 may be an imagingdevice such as an endoscope, a gripper, a surgical tool such as acautery or a scalpel, and/or the like. In some examples, the tool tip276 may include additional degrees of freedom, such as roll, pitch, yaw,grip, and/or the like that allow for additional localized manipulationof portions of the tool tip 276 relative to the shaft 272.

During a surgery or other medical procedure, the patient 278 istypically located on the surgical table 280. The surgical table 280includes a table base 282 and a table top 284 with the table base 282being located in proximity to mobile cart 215 so that the instrument 270and/or tool tip 276 may be manipulated by the computer-assisted device210 while docked to the patient 278. The surgical table 280 furtherincludes an articulated structure 290 that includes one or more jointsor links between the table base 282 and the table top 284 so that therelative location of the table top 284, and thus the patient 278,relative to the table base 280 may be controlled. In some examples, thearticulated structure 290 may be configured so that the table top 284 iscontrolled relative to a virtually-defined iso center 286 that may belocated at a point above the table top 284. In some examples, iso center286 may be located within the interior of the patient 278. In someexamples, iso center 286 may be collocated with the body wall of thepatient at or near one of the port sites, such as a port sitecorresponding to remote center 274.

As shown in FIG. 2, the articulated structure 290 includes a heightadjustment joint 292 so that the table top 284 may be raised and/orlowered relative to the table base 282. The articulated structure 290further includes joints and links to change both the tilt 294 andTrendelenburg 296 orientation of the table top 284 relative to the isocenter 286. The tilt 294 allows the table top 284 to be tiltedside-to-side so that either the right or left side of the patient 278may be rotated upward relative to the other side of the patient 278(i.e., about a longitudinal or head-to-toe axis of the table top 284).The Trendelenburg 296 allows the table top 284 to be rotated so thateither the feet of the patient 278 are raised (Trendelenburg) or thehead of the patient 278 is raised (reverse Trendelenburg). In someexamples, either the tilt 294 and/or the Trendelenburg 296 rotations maybe adjusted to generate rotations about iso center 286. The articulatedstructure 290 further includes additional links and joints 298 to slidethe table top 284 back and forth relative to the table base 282 withgenerally a left and/or right motion as depicted in FIG. 2.

FIG. 3 is a simplified diagram of a kinematic model 300 of acomputer-assisted medical system according to some embodiments. As shownin FIG. 3, kinematic model 300 may include kinematic informationassociated with many sources and/or devices. The kinematic informationmay be based on known kinematic models for the links and joints of acomputer-assisted medical device and a surgical table. The kinematicinformation may be further based on information associated with theposition and/or orientation of the joints of the computer-assistedmedical device and the surgical table. In some examples, the informationassociated with the position and/or orientation of the joints may bederived from one or more sensors, such as encoders, measuring the linearpositions of prismatic joints and the rotational positions of revolutejoints.

The kinematic model 300 includes several coordinate frames or coordinatesystems and transformations, such as homogeneous transforms, fortransforming positions and/or orientation from one of the coordinateframes to another of the coordinate frames. In some examples, thekinematic model 300 may be used to permit the forward and/or reversemapping of positions and/or orientations in one of the coordinate framesin any other of the coordinate frames by composing the forward and/orreverse/inverse transforms noted by the transform linkages included inFIG. 3. In some examples, when the transforms are modeled as homogenoustransforms in matrix form, the composing may be accomplished usingmatrix multiplication. In some embodiments, the kinematic model 300 maybe used to model the kinematic relationships of the computer-assisteddevice 210 and the surgical table 280 of FIG. 2.

The kinematic model 300 includes a table base coordinate frame 305 thatmay be used to model a position and/or orientation of a surgical table,such as surgical table 170 and/or surgical table 280. In some examples,the table base coordinate frame 305 may be used to model other points onthe surgical table relative to a reference point and/or orientationassociated with the surgical table. In some examples, the referencepoint and/or orientation may be associated with a table base of thesurgical table, such as the table base 282. In some examples, the tablebase coordinate frame 305 may be suitable for use as a world coordinateframe for the computer-assisted system.

The kinematic model 300 further includes a table top coordinate frame310 that may be used to model positions and/or orientations in acoordinate frame representative of a table top of the surgical table,such as the table top 284. In some examples, the table top coordinateframe 310 may be centered about a rotational center or iso center of thetable top, such as iso center 286. In some examples, the z-axis of thetable top coordinate frame 310 may be oriented vertically with respectto a floor or surface on which the surgical table is placed and/ororthogonal to the surface of the table top. In some examples, the x- andy-axes of the table top coordinate frame 310 may be oriented to capturethe longitudinal (head to toe) and lateral (side-to-side) major axes ofthe table top. In some examples, a table base to table top coordinatetransform 315 may be used to map positions and/or orientations betweenthe table top coordinate frame 310 and the table base coordinate frame305. In some examples, one or more kinematic models of an articulatedstructure of the surgical table, such as articulated structure 290,along with past and/or current joint sensor readings may be used todetermine the table base to table top coordinate transform 315. In someexamples consistent with the embodiments of FIG. 2, the table base totable top coordinate transform 315 may model the composite effect of theheight, tilt, Trendelenburg, and/or slide settings associated with thesurgical table.

The kinematic model 300 further includes a device base coordinate framethat may be used to model a position and/or orientation of acomputer-assisted device, such as computer-assisted device 110 and/orcomputer-assisted device 210. In some examples, the device basecoordinate frame 320 may be used to model other points on thecomputer-assisted device relative to a reference point and/ororientation associated with the computer-assisted device. In someexamples, the reference point and/or orientation may be associated witha device base of the computer-assisted device, such as the mobile cart215. In some examples, the device base coordinate frame 320 may besuitable for use as the world coordinate frame for the computer-assistedsystem.

In order to track positional and/or orientational relationships betweenthe surgical table and the computer-assisted device, it may be desirableto perform a registration between the surgical table and thecomputer-assisted device. As shown in FIG. 3, the registration may beused to determine a registration transform 325 between the table topcoordinate frame 310 and the device base coordinate from 320. In someembodiments, the registration transform 325 may be a partial or fulltransform between the table top coordinate frame 310 and the device basecoordinate frame 320. In some examples, because the table base and thedevice base are typically located on the same level floor surface, theregistration transform 325 may model just the rotational relationship ofthe device base to the table base about the z-axis of the table basecoordinate frame 305 (e.g., a θ_(Z) registration). In some examples, theregistration transform 325 may also model a horizontal offset betweenthe table base coordinate frame 305 and the device base coordinate frame320 (e.g., a XY registration). This is possible because thecomputer-assisted device and the surgical table are both positioned onthe same horizontal ground plane (the floor) and operated in an uprightposition. In this operational relationship, height adjustments in thetable base to table top transform 315 are analogous to verticaladjustments in the device base coordinate frame 320 because the verticalaxes in the table base coordinate frame 305 and the device basecoordinate frame 320 are the same or nearly the same so that heightdifferences between the table base coordinate frame 305 and the devicebase coordinate frame 320 are within a reasonable tolerance of eachother. In some examples, the tilt and Trendelenburg adjustments in thetable base to table top transform 315 may be mapped to the device basecoordinate frame 320 by knowing the height of the table top (or its isocenter) and the θ_(Z) and/or XY registration. In some examples, theregistration transform 325 and the table base to table top transform 315may be used to model the computer-assisted surgical device as if it wereattached to the table top.

The kinematic model 300 further includes an arm gantry coordinate frame330 that may be used as a suitable model for a shared coordinate frameassociated with the most proximal points on the articulated arms of thecomputer-assisted device. In some embodiments, the arm gantry coordinateframe 330 may be associated with and oriented relative to a convenientpoint on an arm gantry, such as the orientation platform 227. In someexamples, the center point of the arm gantry coordinate frame 330 may belocated on the axis 236 with the z-axis aligned with axis 236. In someexamples, a device base to arm gantry coordinate transform 335 may beused to map positions and/or orientations between the device basecoordinate frame 320 and the arm gantry coordinate frame 330. In someexamples, one or more kinematic models of the links and joints of thecomputer-assisted device between the device base and the arm gantry,such as the set-up structure 220, along with past and/or current jointsensor readings may be used to determine the device base to arm gantrycoordinate transform 335. In some examples consistent with theembodiments of FIG. 2, the device base to arm gantry coordinatetransform 335 may model the composite effect of the two-part column,shoulder joint, two-part boom, and wrist joint of the computer-assisteddevice.

The kinematic model 300 further includes a series of coordinate framesand transforms associated with each of the articulated arms of thecomputer-assisted device. As shown in FIG. 3, the kinematic model 300includes coordinate frames and transforms for three articulated arms,although one of ordinary skill would understand that differentcomputer-assisted devices may include fewer and/or more articulatedarms. Consistent with the configuration of the links and joints of thecomputer-assisted device 210 of FIG. 2, each of the articulated arms maybe modeled using a manipulator mount coordinate frame, a remote centercoordinate frame, and a tool or camera coordinate frame, depending on atype of instrument mounted to the distal end of the articulated arm.

In the kinematic model 300, the kinematic relationships of a first oneof the articulated arms is captured using a manipulator mount coordinateframe 341, a remote center coordinate frame 342, a tool coordinate frame343, a gantry to mount transform 344, a mount to remote center transform345, and a remote center to tool transform 346. The manipulator mountcoordinate frame 341 represents a suitable model for representingpositions and/or orientations associated with a manipulator, such asmanipulator 260. The manipulator mount coordinate frame 341 is typicallyassociated with a manipulator mount, such as the manipulator mount 262of the corresponding articulated arm. The gantry to mount transform 344is then based on one or more kinematic models of the links and joints ofthe computer-assisted device between the arm gantry and thecorresponding manipulator mount, such as the corresponding set-up joints240, along with past and/or current joint sensor readings of thecorresponding set-up joints 240.

The remote center coordinate frame 342 is typically associated with aremote center of the manipulator mounted on the articulated arm, such asthe corresponding remote center 274 of the corresponding manipulator260. The mount to remote center transform 345 is then based on one ormore kinematic models of the links and joints of the computer-assisteddevice between the corresponding manipulator mount and the correspondingremote center, such as the corresponding joints 264, corresponding links266, and corresponding carriage 268 of the corresponding manipulator260, along with past and/or current joint sensor readings of thecorresponding joints 264. When the corresponding remote center is beingmaintained in fixed positional relationship to the correspondingmanipulator mounts, such as in the embodiments of FIG. 2, the mount toremote center transform 345 may include an essentially statictranslational component and a dynamic rotational component.

The tool coordinate frame 343 is typically associated with a tool and/ortool tip on an instrument mounted on the articulated arm, such as thecorresponding tool 270 and/or tool tip 276. The remote center to tooltransform 346 is then based on one or more kinematic models of the linksand joints of the computer-assisted device that move and/or orient thecorresponding tool and the corresponding remote center, along with pastand/or current joint sensor readings. In some examples, the remotecenter to tool transform 346 accounts for the orientation at which theshaft, such as the corresponding shaft 272, passes through the remotecenter and the distance to which the shaft is advanced and/or retreatedrelative to the remote center. In some examples, the remote center totool transform 346 may be constrained to reflect that the insertion axisof the shaft of the tool passes through the remote center and mayaccount for rotations of the shaft and the tool tip about the axisdefined by the shaft.

In the kinematic model 300, the kinematic relationships of a second oneof the articulated arms is captured using a manipulator mount coordinateframe 351, a remote center coordinate frame 352, a tool coordinate frame353, a gantry to mount transform 354, a mount to remote center transform355, and a remote center to tool transform 356. The manipulator mountcoordinate frame 351 represents a suitable model for representingpositions and/or orientations associated with a manipulator, such asmanipulator 260. The manipulator mount coordinate frame 351 is typicallyassociated with a manipulator mount, such as the manipulator mount 262of the corresponding articulated arm. The gantry to mount transform 354is then based on one or more kinematic models of the links and joints ofthe computer-assisted device between the arm gantry and thecorresponding manipulator mount, such as the corresponding set-up joints240, along with past and/or current joint sensor readings of thecorresponding set-up joints 240.

The remote center coordinate frame 352 is typically associated with aremote center of the manipulator mounted on the articulated arm, such asthe corresponding remote center 274 of the corresponding manipulator260. The mount to remote center transform 355 is then based on one ormore kinematic models of the links and joints of the computer-assisteddevice between the corresponding manipulator mount and the correspondingremote center, such as the corresponding joints 264, corresponding links266, and corresponding carriage 268 of the corresponding manipulator260, along with past and/or current joint sensor readings of thecorresponding joints 264. When the corresponding remote center is beingmaintained in fixed positional relationship to the correspondingmanipulator mounts, such as in the embodiments of FIG. 2, the mount toremote center transform 355 may include an essentially statictranslational component and a dynamic rotational component.

The tool coordinate frame 353 is typically associated with a tool and/ortool tip on an instrument mounted on the articulated arm, such as thecorresponding tool 270 and/or tool tip 276. The remote center to tooltransform 356 is then based on one or more kinematic models of the linksand joints of the computer-assisted device that move and/or orient thecorresponding tool and the corresponding remote center, along with pastand/or current joint sensor readings. In some examples, the remotecenter to tool transform 356 accounts for the orientation at which theshaft, such as the corresponding shaft 272, passes through the remotecenter and the distance to which the shaft is advanced and/or retreatedrelative to the remote center. In some examples, the remote center totool transform 356 may be constrained to reflect that the insertion axisof the shaft of the tool passes through the remote center and mayaccount for rotations of the shaft and the tool tip about the insertionaxis defined by the shaft.

In the kinematic model 300, the kinematic relationships of a third oneof the articulated arms is captured using a manipulator mount coordinateframe 361, a remote center coordinate frame 362, a camera coordinateframe 363, a gantry to mount transform 364, a mount to remote centertransform 365, and a remote center to camera transform 366. Themanipulator mount coordinate frame 361 represents a suitable model forrepresenting positions and/or orientations associated with amanipulator, such as manipulator 260. The manipulator mount coordinateframe 361 is typically associated with a manipulator mount, such as themanipulator mount 262 of the corresponding articulated arm. The gantryto mount transform 364 is then based on one or more kinematic models ofthe links and joints of the computer-assisted device between the armgantry and the corresponding manipulator mount, such as thecorresponding set-up joints 240, along with past and/or current jointsensor readings of the corresponding set-up joints 240.

The remote center coordinate frame 362 is typically associated with aremote center of the manipulator mounted on the articulated arm, such asthe corresponding remote center 274 of the corresponding manipulator260. The mount to remote center transform 365 is then based on one ormore kinematic models of the links and joints of the computer-assisteddevice between the corresponding manipulator mount and the correspondingremote center, such as the corresponding joints 264, corresponding links266, and corresponding carriage 268 of the corresponding manipulator260, along with past and/or current joint sensor readings of thecorresponding joints 264. When the corresponding remote center is beingmaintained in fixed positional relationship to the correspondingmanipulator mounts, such as in the embodiments of FIG. 2, the mount toremote center transform 365 may include an essentially statictranslational component and a dynamic rotational component.

The camera coordinate frame 363 is typically associated with an imagingdevice, such an endoscope, mounted on the articulated arm. The remotecenter to camera transform 366 is then based on one or more kinematicmodels of the links and joints of the computer-assisted device that moveand/or orient the imaging device and the corresponding remote center,along with past and/or current joint sensor readings. In some examples,the remote center to camera transform 366 accounts for the orientationat which the shaft, such as the corresponding shaft 272, passes throughthe remote center and the distance to which the shaft is advanced and/orretreated relative to the remote center. In some examples, the remotecenter to camera transform 366 may be constrained to reflect that theinsertion axis of the shaft of the imaging device passes through theremote center and may account for rotations of the imaging device aboutthe axis defined by the shaft.

As discussed above and further emphasized here, FIG. 3 is merely anexample which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. According to some embodiments, the registrationbetween the surgical table and the computer-assisted device may bedetermined between the table top coordinate frame 310 and the devicebase coordinate frame 320 using an alternative registration transform.When the alternative registration transform is used, registrationtransform 325 may be determined by composing the alternativeregistration transform with the inverse/reverse of the table base totable top transform 315. According to some embodiments, the coordinateframes and/or transforms used to model the computer-assisted device maybe arranged differently dependent on the particular configuration of thelinks and joints of the computer-assisted device, its articulated arms,its end effectors, its manipulators, and/or its instruments. Accordingto some embodiments, the coordinate frames and transforms of thekinematic model 300 may be used to model coordinate frames andtransforms associated with one or more virtual tools and/or virtualcameras. In some examples, the virtual tools and/or cameras may beassociated with previously stored and/or latched tool positions,projections of tools and/or cameras due to a motion, reference pointsdefined by a surgeon and/or other personnel, and/or the like.

As described previously, as a computer-assisted system, such ascomputer-assisted systems 110 and/or 210, is being operated it would bedesirable to allow continued control of the tool and/or tool tips whilemotion of a surgical table, such as surgical tables 170 and/or 280, isallowed. In some examples, this may allow for a less time-consumingprocedure as surgical table motion may occur without having to undockthe manipulators from the patient. In some examples, this may allow asurgeon and/or other medical personnel to monitor organ movement whilethe surgical table motion is occurring to obtain a more optimal surgicaltable pose. In some examples, this may also permit active continuationof a surgical procedure during surgical table motion.

As a computer-assisted system, such as computer-assisted systems 110and/or 200 are being operated, one of the goals is to maintain anappropriate pose for each of the tools and/or tool tips. In one mode ofoperation for the computer-assisted system, the joints of the surgicaltable and the joints proximal to each of the manipulators are lockedand/or held in place through the use of servo controls and/or brakes sothat motion of the joints is limited and/or prohibited entirely. Thisallows the joints of the manipulators to control the pose of the toolsto accomplish a desired procedure without interference from movement inthese other joints. In some examples, the manipulators may be dockedwith a patient during the procedure. In some examples, the pose of thetools and/or tool tips may be controlled via teleoperation by a surgeonat an operator console. It may, however, be desirable to support othermodes of operation for the computer-assisted system that allow formovement in the articulated arms while the tools remain docked to thepatient. These other modes of operation may introduce risks that are notpresent in modes of operation when the tools are not docked to thepatient. In some examples, these risks may include injury to the patientwhen the tools and/or tool tips are allowed to move relative to thepatient, breach of a sterile field, collisions between the articulatedarms, and/or the like.

In a general case, these other modes of operation may be characterizedby a goal of maintaining a pose of a tool, which is attached to a dockedmanipulator, relative to a patient when one or more joints proximal tothe tool are subject to a disturbance that results in a change topositions and/or orientations (i.e., movements) of the one or morejoints. Because disturbances in one or more first or disturbed jointsproximal to a tool results in a change in the pose of the tool and itstool tip, it may be desirable to introduce movement in one or moresecond or compensating joints that compensate for the changes in thepose of the tool caused by the movement of the disturbed joints.Determining the extent of the disturbance and the amount of compensationdepends on the type and nature of the disturbance, such as whether thedisturbance is associated with movement of the surgical table orpatient, or whether the disturbance is confined to the articulated armused to manipulate the tool.

The disturbances associated with these other modes of operation thatmaintain a pose of a tool may be classified into two general categories.In the first category, the patient to which the manipulator is docked isnot moving so that the pose of the tool and/or the tool tip may bemonitored and maintained in any suitable world coordinate frame. Thefirst category may include disturbances associated with controlledmotion of the articulated arm. In some examples, the controlled motionof the articulated arm may include movement in one or more joints usedto set-up the articulated arm and/or the manipulator before performing aprocedure. One example of this includes the movement of one or morejoints of the set-up structure of a computer-assisted device consistentwith the embodiments of FIG. 2 where the orientation platform 227 istranslated and aligned to allow the set-up joints 240 be moved toprovide good range of motion in the manipulator 260 during a procedure.Examples of this type of motion are described in greater detail in U.S.Provisional Patent Application No. 62/024,887 entitled “System andMethod for Aligning with a Reference Target,” which was filed on Jul.15, 2014 and U.S. Provisional Patent Application No. 61/954,261 entitled“System and Method for Aligning with a Reference Target,” which wasfiled on Mar. 17, 2014, both of which are hereby incorporated byreference. Another example of this includes movement of one or morejoints to provide collision avoidance with another articulated armand/or known obstacle in proximity to the articulated arm. The firstcategory may further include disturbances associated with the release ofbrakes and/or other joint locks prior to initiating other motion. Insome examples, external forces and/or torques on the shaft of the tool,such as due to forces and torques applied to the remote center of themanipulator by the body wall of the patient, may result in undesirablemotion of the tool and/or the tool tip when the brakes and/or locks arereleased and forces and/or torques are absorbed by the released joints.The first category may further include disturbances caused by operationof the articulated arm in a clutched or float state such as might occurduring manual repositioning of the articulated arm by an operator and/ordue to a collision between the articulated arm and an obstacle. Examplesof this type of motion are described in greater detail in U.S.Provisional Patent Application No. 61/954,120 entitled “System andMethod for Breakaway Clutching in an Articulated Arm,” which was filedon Mar. 17, 2014 and which is hereby incorporated by reference.

In the second category, the patient to whom the manipulator is docked ismoving so that the pose of the tool and/or the tool tip may be monitoredin a local coordinate frame. The second category may includedisturbances caused by allowing motion of the articulated structure inthe surgical table (i.e., table movement) or movement of the patientrelative to the surgical table. In the second category, it is generallydesired to have the articulated arm and the tool move with the patientso that the pose of the tool relative to the patient does not change. Insome examples, this may be accomplished using port dragging that mayinclude releasing and/or unlocking one or more joints of the articulatedarm and allowing the body wall of the patient at the port to drag theremote center and the tool as the patient moves. In some examples, asthe remote center moves the orientation of the tool relative to theremote center may begin to change resulting in a change between the poseof tool relative to the patient.

FIG. 4 is a simplified diagram of the method 400 of maintaining the poseof a tool during movement of one or more joints proximal to the toolaccording to some embodiments. One or more of the processes 410-460 ofmethod 400 may be implemented, at least in part, in the form ofexecutable code stored on non-transient, tangible, machine readablemedia that when run by one or more processors (e.g., the processor 140in control unit 130) may cause the one or more processors to perform oneor more of the processes 410-460. In some embodiments, method 400 may beused to compensate for changes in the pose of the tool due to motion inone or more disturbed joints by introducing compensating motion in oneor more compensating joints. In some examples, method 400 may be usedwhen the motion in the disturbed joints is due to controlled motion,clutched motion, brake or lock release, patient motion, and/or the like.In some examples consistent with the embodiments of FIG. 2, the one ormore disturbed joints and/or the one or more compensating joints mayinclude any of the joints in set-up structure 220, the set-up joints240, and/or any joints of manipulator 260 proximal to the tool. In someembodiments, use of method 400 may be limited to operation when aninstrument, cannula, and/or the like is coupled to the distal end of acorresponding articulated arm, end effector, and/or manipulator so thata remote center for the articulated arm, end effector, and/ormanipulator may be defined. In some embodiments, method 400 may includehaving the pose of the tool at least partially maintained usingresistance from a patient port and/or by an operator of thecomputer-assisted device.

According to some embodiments, method 400 may support one or more usefulimprovements over methods that do not maintain the pose of the toolduring movement of the one or more disturbed joints. In some examples,method 400 may reduce the likelihood of collisions between the tooland/or other links and joints of the articulated arm to which the toolis mounted and other articulated arms, end effectors, manipulators,and/or tools whose positions and orientations are known to thecomputer-assisted device. In some examples, method 400 may reduce themovement of one or more sterile drapes attached to the articulated armto which the tool is mounted so as to better avoid sweeping and/ormoving the one or more sterile drapes into contact with one or morenon-sterile obstacles, such as one or more exposed regions of anoperator (e.g., the operator's face) and the resultant breach of asterile field. In some examples, method 400 may reduce the likelihood ofmoving and/or sweeping the tool and/or the tool tip within the body ofthe patient so as to reduce the likelihood of injury to the patient bythe tool and/or the tool tip.

At a process 410, a reference coordinate frame for a tool is determined.The determination of the reference coordinate frame for the tool dependson an operating mode. In some examples, the determination of thereference frame may further depend on a type of disturbance expected forthe articulated arm to which the tool is mounted and/or the one or morejoints (i.e., the disturbed joints) that may move as a result of thedisturbance. When the source of the disturbance is associated with acontrolled motion of the articulated arm, manual repositioning of thearticulated arm, motion induced by a collision of the articulated arm,and/or the like where the patient is not moving and the remote centerfor the manipulator mounted to the articulated arm is not subject totranslation, any coordinate frame that is fixed relative to a worldcoordinate frame may be used. Consistent with the embodiments of FIGS. 2and 3, any of the device base coordinate frame 320, arm gantrycoordinate frame 330, and/or remote center coordinate frames 342, 352,and 362 may be used as the reference coordinate frame. When the sourceof the disturbance is associated with brake and/or lock release of oneor more of the disturbed joints such that the remote center may move,any coordinate frame that is fixed relative to a world coordinate framemay be used. Consistent with the embodiments of FIGS. 2 and 3, any ofthe device base coordinate frame 320 and/or arm gantry coordinate frame330, but not any of the remote center coordinate frames 342, 352, and362, may be used as the reference coordinate frame. When the source ofthe disturbance is associated with patient motion and/or movement of thesurgical table, a local coordinate frame that moves with the patient maybe used. Consistent with the embodiments of FIGS. 2 and 3, the remotecenter coordinate frame 342, 352, or 362 associated with the articulatedarm and/or table top coordinate frame 310 may be used as the referencecoordinate frame.

At a process 420, a reference transform of the tool in the referencecoordinate frame is determined. Prior to the initiation of movement ofthe one or more disturbed joints, one or more kinematic models of thecomputer-assisted device are used to determine a reference transform forthe tool in the reference coordinate frame determined during process410. In some examples, the one or more kinematic models may include oneor more kinematic models for the links and joints of the articulatedarm, the manipulator, the tool, the set-up structure and/or the like.Using the embodiments of FIGS. 2 and 3 as an example, when the referencecoordinate frame is the remote center coordinate frame 342, 352, or 362,the respective remote center to tool/camera transform 346, 356, or 366latched or recorded before the disturbance begins becomes the referencetransform of the tool. When the reference coordinate frame is the armgantry coordinate frame 330, a composition of the corresponding gantryto mount transform 344, 354, or 364, the corresponding mount to remotecenter transform 345, 355, or 365, and the corresponding remote centerto tool/camera transform 346, 356, or 366 latched or recorded before thedisturbance begins becomes the reference transform of the tool. In someexamples, when a tool is not mounted to the articulated arm, endeffector, and/or manipulator, a cannula and/or a virtual tool may beused to determine the reference transform based on the insertiondirection of the cannula and/or a virtual shaft of the instrument.

At a process 430, an actual transform of the tool in the referencecoordinate frame is determined. As the one or more disturbed jointsbegin to move due to the disturbance, the pose of the tool begins tochange because the tool is distal to the one or more disturbed joints.The movement of the one or more disturbed joints is monitored and thesame one or more kinematic models used during process 420 are againapplied using current joint positions and/or orientations to determinethe actual transform of the tool in the reference coordinate frame. Theactual transform represents how the movements of the one or moredisturbed joints are tending to move the tool away from the pose that isto be maintained.

At a process 440, differences between the actual transform and thereference transform are determined. The differences between the actualtransform and the reference transform represent errors that are beingintroduced into the pose of the tool by the disturbance. Unless theerrors in the pose of the tool are compensated for by movement using oneor more compensating joints of the articulate arm, the pose of the toolmay undesirably change. In some examples, the differences may bedetermined by subtracting corresponding matrix and/or vectorrepresentations of the actual and reference transforms. In someexamples, the differences may be represented as an error transformdetermined by composing an inverse/reverse of the reference transformwith the actual transform.

At a process 450, compensating joint changes are determined based on thedifferences. Using the differences between the actual transform and thereference transform determined during process 440, changes in the one ormore compensating joints are determined. The differences between theactual transform and the reference transform are mapped from thereference coordinate system of the actual and reference transforms toone or more local coordinate systems associated with each of thecompensating joints. In effect, this transforms the errors in the poseof the tool from the reference coordinate system to errors of the poserelative to the compensating joints. In some examples, one or morekinematic models may be used to transform the differences to the localcoordinate systems. In some examples, the compensating joints mayinclude any of the joints of the articulated arm and/or the manipulatorthat are not one of the disturbed joints. Once the relative errors inthe pose are determined, they may be used to determine the movements foreach of the compensating joints. In some examples, an inverse Jacobianmay be used to map the relative errors to compensating movements of thecompensating joints. In some examples, the movements in the compensatingjoints may be applied as joint velocities applied to the compensatingjoints.

At a process 460, the compensating joints are driven. One or morecommands are sent to the one or more actuators in the compensatingjoints based on the movements of the compensating joints determinedduring process 450. The commands sent to the compensating joints correctfor the errors in the pose of the tool introduced by the movements inthe one or more disturbed joints so that the pose of the tool in thereference coordinate system is maintained with minimal error. As long asthe one or more compensating joints continue to make corrective changesto the pose of the tool, processes 430-460 are repeated to compensatefor any errors introduced into the pose of the tool.

According to some embodiments, process 460 may be subject to practicallimitations. In some examples, the ability of one or more of thecompensating joints to compensate for the errors in the pose of the toolmay be limited by range of motion (ROM) limits of the one or morecompensating joints. In some examples, when a ROM limit for one or moreof the compensating joints is reached and/or is about to be reachedmethod 400 and/or process 460 may be stopped and an error may beindicated to the operator using one or more visible and/or audible errorcues. In some examples, rather than stopping operation of method 400and/or process 460, process 460 may operate in modified form topartially compensate for the errors in the pose of the tool so as tominimize the controllable error while providing feedback to the operatorthat not all of the movement caused by the disturbance is beingcompensated for. In some examples, the feedback may include one or morevisible and/or audio cues indicating that compensation is limited and/orthe application of resistance on the one or more compensating joints. Insome examples, the resistance may include partially applying one or morebrakes associated with the one or more compensating joints and/orapplying a motion resistance voltage and/or signal in one or moreactuators associated with the one or more compensating joints.

As discussed above and further emphasized here, FIG. 4 is merely anexample which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. According to some embodiments, method 400 may beindependently applied for each of the tools being manipulated by thecomputer-assisted device. In some examples, the tools may include any ofthe tools docked to the patient. In some examples, the compensatingjoints may be located distal to an arm gantry, such as orientationplatform 227, of the computer-assisted device so that compensation tomaintain the pose of each of the tools is applied separately for each ofthe tools.

According to some embodiments, the disturbed and compensating joints maynot include each of the joints in the articulated arm and/ormanipulator. In some examples, the compensating joints may include justthe roll, pitch, and yaw joints of the manipulator. In some examples,other joints in the articulated arm and/or the manipulator may be lockedto prevent their relative movement during method 400. In some examples,one or more non-actuated joints of the articulated arm and/or themanipulator may be unlocked and/or placed in a clutched and/or floatstate during method 400 so that errors in the pose of the tool may be atleast partially reduced by changes in the unlocked joints. In someexamples, the changes in the unlocked joints may reduce the amount thatthe compensating joints are to be driven. In some examples, the pose ofthe tool may be at least partially maintained using resistance from thepatient port and/or by an operator of the computer-assisted device.

According to some embodiments, one or more of the processes 430-460 maybe performed concurrently. According to some embodiments, additionalconditions may result in premature termination of method 400 such as byreturning control of the computer-assisted device to an operator and/orby suspension of operation of the computer-assisted device. In someexamples, the additional conditions may include inability to completethe compensated movement, manual intervention and/or override from anoperator using one or more controls on an operator workstation and/orthe articulated arms, detection of operator disengagement with theoperator workstation using one or more safety interlocks, positiontracking errors in the computer-assisted device, system faults, and/orthe like. In some examples, the desired movement may not be possible dueto the detection of imminent collisions among the links and/or joints ofthe computer-assisted device, range of motion limits in one or more ofthe joints of the computer-assisted device, inability to maintain thepose of the tool due to motion of the patient, and/or the like. In someexamples, premature termination of method 400 may result in an errornotification being sent to the operator. In some examples, the errornotification may include any visual and/or audible indicator, such as atext message, a blinking light, an audible tone, a spoken phrase, and/orthe like.

Some examples of control units, such as control unit 130 may includenon-transient, tangible, machine readable media that include executablecode that when run by one or more processors (e.g., processor 140) maycause the one or more processors to perform the processes of method 400.Some common forms of machine readable media that may include theprocesses of method 400 are, for example, floppy disk, flexible disk,hard disk, magnetic tape, any other magnetic medium, CD-ROM, any otheroptical medium, punch cards, paper tape, any other physical medium withpatterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chipor cartridge, and/or any other medium from which a processor or computeris adapted to read.

Although illustrative embodiments have been shown and described, a widerange of modification, change and substitution is contemplated in theforegoing disclosure and in some instances, some features of theembodiments may be employed without a corresponding use of otherfeatures. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications. Thus, the scope of theinvention should be limited only by the following claims, and it isappropriate that the claims be construed broadly and in a mannerconsistent with the scope of the embodiments disclosed herein.

What is claimed is:
 1. A computer-assisted device, the devicecomprising: an articulated structure comprising a plurality of joints;and a control unit coupled to the articulated structure; wherein thecontrol unit is configured to: determine whether a cannula or aninstrument is coupled to a distal end of the articulated structure; andin response to determining that the cannula or the instrument is coupledto the distal end of the articulated structure: determine an initialposition and orientation of the instrument prior to detection of adisturbance in a first joint of the plurality of joints; determine,during the disturbance in the first joint, a current position andorientation of the instrument; determine a difference between thecurrent position and orientation and the initial position andorientation; and drive at least a second joint of the plurality ofjoints based on the difference.
 2. The device of claim 1, wherein thearticulated structure is configured to be coupled to a patient, and theinitial position and orientation and the current position andorientation are determined relative to a reference coordinate frameassociated with a top of a table on which the patient is positioned. 3.The device of claim 1, wherein the driving of the at least second jointmaintains a position and orientation of the instrument at the initialposition and orientation.
 4. The device of claim 1, wherein the drivingof the at least second joint partially reduces the difference betweenthe current position and orientation and the initial position andorientation.
 5. The device of claim 1, wherein the disturbance in thefirst joint causes movement of the first joint.
 6. The device of claim1, wherein when the disturbance in the first joint is due to movement ofa patient coupled to the articulated structure, the initial position andorientation of the instrument and the current position and orientationare determined relative to a reference coordinate frame associated witha remote center of the articulated structure.
 7. The device of claim 1,wherein when the disturbance in the first joint is due to controlledmotion of the articulated structure, due to manual repositioning of thearticulated structure, due to motion induced by a collision, or due torelease of a brake or lock of the first joint, the initial position andorientation of the instrument and the current position and orientationare determined relative to a reference coordinate frame fixed relativeto a world coordinate frame of the computer-assisted device.
 8. Thedevice of claim 1, wherein the first joint is a non-actuated joint. 9.The device of claim 1, wherein in response to determining that thesecond joint is at a range of motion limit, the control unit is furtherconfigured to stop driving the second joint based on the differencebetween the current position and orientation and the initial positionand orientation.
 10. The device of claim 1, wherein the control unit isfurther configured to unlock a third joint of the plurality of joints,wherein unlocking the third joint reduces an amount the second joint isdriven based on the difference between the current position andorientation and the initial position and orientation.
 11. A method ofcompensating for motion in a computer-assisted device comprising anarticulated structure, the method comprising: determining whether acannula or an instrument is coupled to a distal end of the articulatedstructure; and in response to determining that the cannula or theinstrument is coupled to the distal end of the articulated structure:determining an initial position and orientation of the instrument priorto detection of a disturbance in a first joint of a plurality of jointsof the articulated structure; determining, during the disturbance in thefirst joint, a current position and orientation of the instrument;determining a difference between the current position and orientationand the initial position and orientation; and driving at least a secondjoint of the plurality of joints based on the difference.
 12. The methodof claim 11, wherein the articulated structure is configured to becoupled to a patient, and the initial position and orientation and thecurrent position and orientation are determined relative to a referencecoordinate frame associated with a top of a table on which the patientis positioned.
 13. The method of claim 11, wherein the driving of the atleast second joint maintains a position and orientation of theinstrument at the initial position and orientation.
 14. The method ofclaim 11, wherein the driving of the at least second joint partiallyreduces the difference between the current position and orientation andthe initial position and orientation.
 15. The method of claim 11,wherein the initial position and orientation of the instrument and thecurrent position and orientation of the instrument are determinedrelative to a reference coordinate frame determined based on a cause ofthe disturbance in the second joint.
 16. The method of claim 11, furthercomprising: stopping the driving of the second joint in response todetermining that the second joint is at a range of motion limit.
 17. Anon-transitory machine-readable medium comprising a plurality ofmachine-readable instructions which when executed by one or moreprocessors associated with a device comprising an articulated structureare adapted to cause the one or more processors to perform a methodcomprising: determining whether a cannula or instrument is coupled to adistal end of the articulated structure; and in response to determiningthat the cannula or the instrument is coupled to the distal end of thearticulated structure: determining an initial position and orientationof the instrument prior to detection of a disturbance in a first jointof a plurality of joints of the articulated structure; determining,during the disturbance in the first joint, a current position andorientation of the instrument; determining a difference between thecurrent position and orientation and the initial position andorientation; and driving at least a second joint of the plurality ofjoints based on the difference.
 18. The non-transitory machine-readablemedium of claim 17, wherein the driving of the at least second jointmaintains a position and orientation of the instrument at the initialposition and orientation.
 19. The non-transitory machine-readable mediumof claim 17, wherein the driving of the at least second joint partiallyreduces the difference between the current position and orientation andthe initial position and orientation.
 20. The non-transitorymachine-readable medium of claim 17, wherein the initial position andorientation of the instrument and the current position and orientationof the instrument are determined relative to a reference coordinateframe determined based on a cause of the disturbance in the secondjoint.